Skip to content

A13-3-1: exclude functions with different number parameters #514

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Feb 8, 2024

Conversation

knewbury01
Copy link
Contributor

@knewbury01 knewbury01 commented Jan 30, 2024

Description

fixes #399

note in the testcase added, it is still an expected behaviour for the rule to alert on the overloading that is occurring between the function with the forward ref and the implicit copy and move constructors. this is because the testcase does not fit the exception condition where those are required to be constrained.

Change request type

  • Release or process automation (GitHub workflows, internal scripts)
  • Internal documentation
  • External documentation
  • Query files (.ql, .qll, .qls or unit tests)
  • External scripts (analysis report or other code shipped as part of a release)

Rules with added or modified queries

  • No rules added
  • Queries have been added for the following rules:
    • rule number here
  • Queries have been modified for the following rules:
    • A13-3-1

Release change checklist

A change note (development_handbook.md#change-notes) is required for any pull request which modifies:

  • The structure or layout of the release artifacts.
  • The evaluation performance (memory, execution time) of an existing query.
  • The results of an existing query in any circumstance.

If you are only adding new rule queries, a change note is not required.

Author: Is a change note required?

  • Yes
  • No

🚨🚨🚨
Reviewer: Confirm that format of shared queries (not the .qll file, the
.ql file that imports it) is valid by running them within VS Code.

  • Confirmed

Reviewer: Confirm that either a change note is not required or the change note is required and has been added.

  • Confirmed

Query development review checklist

For PRs that add new queries or modify existing queries, the following checklist should be completed by both the author and reviewer:

Author

  • Have all the relevant rule package description files been checked in?
  • Have you verified that the metadata properties of each new query is set appropriately?
  • Do all the unit tests contain both "COMPLIANT" and "NON_COMPLIANT" cases?
  • Are the alert messages properly formatted and consistent with the style guide?
  • Have you run the queries on OpenPilot and verified that the performance and results are acceptable?
    As a rule of thumb, predicates specific to the query should take no more than 1 minute, and for simple queries be under 10 seconds. If this is not the case, this should be highlighted and agreed in the code review process.
  • Does the query have an appropriate level of in-query comments/documentation?
  • Have you considered/identified possible edge cases?
  • Does the query not reinvent features in the standard library?
  • Can the query be simplified further (not golfed!)

Reviewer

  • Have all the relevant rule package description files been checked in?
  • Have you verified that the metadata properties of each new query is set appropriately?
  • Do all the unit tests contain both "COMPLIANT" and "NON_COMPLIANT" cases?
  • Are the alert messages properly formatted and consistent with the style guide?
  • Have you run the queries on OpenPilot and verified that the performance and results are acceptable?
    As a rule of thumb, predicates specific to the query should take no more than 1 minute, and for simple queries be under 10 seconds. If this is not the case, this should be highlighted and agreed in the code review process.
  • Does the query have an appropriate level of in-query comments/documentation?
  • Have you considered/identified possible edge cases?
  • Does the query not reinvent features in the standard library?
  • Can the query be simplified further (not golfed!)

@knewbury01 knewbury01 requested a review from rvermeulen January 30, 2024 15:46
@knewbury01 knewbury01 self-assigned this Jan 30, 2024
@knewbury01 knewbury01 enabled auto-merge January 30, 2024 15:48
Copy link
Collaborator

@rvermeulen rvermeulen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style adjustment and question on the new rows in the expected file.

@knewbury01 knewbury01 requested a review from rvermeulen February 5, 2024 14:57
Copy link
Collaborator

@rvermeulen rvermeulen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor format and alert message change request. Also was expecting a different expected file due to changes in the alert message.

@knewbury01 knewbury01 requested a review from rvermeulen February 7, 2024 15:58
Copy link
Collaborator

@rvermeulen rvermeulen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Request to add more information into the alert. Would it be easy to turn the current FPs into TP and FN using a heuristic?

@knewbury01
Copy link
Contributor Author

Request to add more information into the alert. Would it be easy to turn the current FPs into TP and FN using a heuristic?

I spent quite a bit of time trying to figure it out, no luck so far.

I have opened another issue (and think there actually already was one other to continue to investigate this) and have asked internally on how I can detect the exclude_if guard
so I think this PR sufficiently improves the alert message to be more understandable for now,
and further improvement can continue if it turns out modelling that guard is possible

@rvermeulen thanks for the check!

@knewbury01 knewbury01 requested a review from rvermeulen February 8, 2024 02:12
Copy link
Collaborator

@rvermeulen rvermeulen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ready to merge!

@knewbury01 knewbury01 added this pull request to the merge queue Feb 8, 2024
Merged via the queue into github:main with commit 0a23725 Feb 8, 2024
@knewbury01 knewbury01 deleted the knewbury01/A13-3-1-excludes branch February 8, 2024 22:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

A13-3-1: Only report functions with the same number of parameters
2 participants